# RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux -mattr=dsp | FileCheck %s

  0x7c 0x02 0x0a 0x52 # CHECK: absq_s.ph        $1, $2
  0x7c 0x06 0x2c 0x52 # CHECK: absq_s.w         $5, $6
  0x7d 0x09 0x3a 0x90 # CHECK: addq.ph          $7, $8, $9
  0x7d 0x6c 0x53 0x90 # CHECK: addq_s.ph        $10, $11, $12
  0x7d 0xcf 0x6d 0x90 # CHECK: addq_s.w         $13, $14, $15
  0x7f 0xbe 0xe4 0x10 # CHECK: addsc            $gp, $sp, $fp
  0x7c 0xe8 0x30 0x10 # CHECK: addu.qb          $6, $7, $8
  0x7d 0x4b 0x49 0x10 # CHECK: addu_s.qb        $9, $10, $11
  0x7d 0xae 0x64 0x50 # CHECK: addwc            $12, $13, $14
  0x7c 0x1a 0xce 0xd2 # CHECK: bitrev           $25, $26
  0x04 0x1c 0x14 0x9b # CHECK: bposge32         21104
  0x7f 0x7c 0x02 0x11 # CHECK: cmp.eq.ph        $27, $gp
  0x7f 0xbe 0x02 0x51 # CHECK: cmp.lt.ph        $sp, $fp
  0x7f 0xe1 0x02 0x91 # CHECK: cmp.le.ph        $ra, $1
  0x7d 0x8d 0x59 0x11 # CHECK: cmpgu.eq.qb      $11, $12, $13
  0x7d 0xf0 0x71 0x51 # CHECK: cmpgu.lt.qb      $14, $15, $16
  0x7e 0x53 0x89 0x91 # CHECK: cmpgu.le.qb      $17, $18, $19
  0x7e 0x95 0x00 0x11 # CHECK: cmpu.eq.qb       $20, $21
  0x7e 0xd7 0x00 0x51 # CHECK: cmpu.lt.qb       $22, $23
  0x7f 0x19 0x00 0x91 # CHECK: cmpu.le.qb       $24, $25
  0x7c 0x22 0x09 0x30 # CHECK: dpaq_s.w.ph      $ac1, $1, $2
  0x7c 0x64 0x13 0x30 # CHECK: dpaq_sa.l.w      $ac2, $3, $4
  0x7d 0x2a 0x08 0xf0 # CHECK: dpau.h.qbl       $ac1, $9, $10
  0x7d 0x6c 0x09 0xf0 # CHECK: dpau.h.qbr       $ac1, $11, $12
  0x7e 0x32 0x01 0x70 # CHECK: dpsq_s.w.ph      $ac0, $17, $18
  0x7e 0x74 0x0b 0x70 # CHECK: dpsq_sa.l.w      $ac1, $19, $20
  0x7c 0xa6 0x02 0xf0 # CHECK: dpsu.h.qbl       $ac0, $5, $6
  0x7c 0xe8 0x0b 0xf0 # CHECK: dpsu.h.qbr       $ac1, $7, $8
  0x7f 0xe1 0x00 0xb8 # CHECK: extp             $1, $ac0, 31
  0x7c 0x02 0x0a 0xb8 # CHECK: extpdp           $2, $ac1, 0
  0x7c 0x83 0x12 0xf8 # CHECK: extpdpv          $3, $ac2, $4
  0x7c 0xc5 0x18 0xf8 # CHECK: extpv            $5, $ac3, $6
  0x7f 0xe7 0x00 0x38 # CHECK: extr.w           $7, $ac0, 31
  0x7d 0xe8 0x09 0x38 # CHECK: extr_r.w         $8, $ac1, 15
  0x7c 0xe9 0x11 0xb8 # CHECK: extr_rs.w        $9, $ac2, 7
  0x7c 0x6a 0x1b 0xb8 # CHECK: extr_s.h         $10, $ac3, 3
  0x7d 0x8b 0x00 0x78 # CHECK: extrv.w          $11, $ac0, $12
  0x7d 0xcd 0x09 0x78 # CHECK: extrv_r.w        $13, $ac1, $14
  0x7e 0x0f 0x11 0xf8 # CHECK: extrv_rs.w       $15, $ac2, $16
  0x7e 0x51 0x1b 0xf8 # CHECK: extrv_s.h        $17, $ac3, $18
  0x7e 0x93 0x00 0x0c # CHECK: insv             $19, $20
  0x7f 0x54 0x51 0x8a # CHECK: lbux             $10, $20($26)
  0x7f 0x75 0x59 0x0a # CHECK: lhx              $11, $21($27)
  0x7f 0x96 0x60 0x0a # CHECK: lwx              $12, $22($gp)
  0x70 0xc7 0x08 0x00 # CHECK: madd             $ac1, $6, $7
  0x71 0x09 0x08 0x01 # CHECK: maddu            $ac1, $8, $9
  0x70 0xc7 0x00 0x00 # CHECK: madd             $6, $7
  0x71 0x09 0x00 0x01 # CHECK: maddu            $8, $9
  0x7c 0x64 0x15 0x30 # CHECK: maq_s.w.phl      $ac2, $3, $4
  0x7c 0xa6 0x1c 0x30 # CHECK: maq_sa.w.phl     $ac3, $5, $6
  0x7c 0xe8 0x05 0xb0 # CHECK: maq_s.w.phr      $ac0, $7, $8
  0x7d 0x2a 0x0c 0xb0 # CHECK: maq_sa.w.phr     $ac1, $9, $10
  0x00 0x20 0x70 0x10 # CHECK: mfhi             $14, $ac1
  0x00 0x20 0x78 0x12 # CHECK: mflo             $15, $ac1
  0x00 0x00 0x70 0x10 # CHECK: mfhi             $14
  0x00 0x00 0x78 0x12 # CHECK: mflo             $15
  0x7d 0x8d 0x5c 0x90 # CHECK: modsub           $11, $12, $13
  0x71 0x4b 0x18 0x04 # CHECK: msub             $ac3, $10, $11
  0x71 0x8d 0x10 0x05 # CHECK: msubu            $ac2, $12, $13
  0x71 0x4b 0x00 0x04 # CHECK: msub             $10, $11
  0x71 0x8d 0x00 0x05 # CHECK: msubu            $12, $13
  0x02 0x00 0x18 0x11 # CHECK: mthi             $16, $ac3
  0x02 0x00 0x00 0x11 # CHECK: mthi             $16
  0x7d 0xc0 0x17 0xf8 # CHECK: mthlip           $14, $ac2
  0x02 0x20 0x10 0x13 # CHECK: mtlo             $17, $ac2
  0x02 0x20 0x00 0x13 # CHECK: mtlo             $17
  0x7e 0xd7 0xaf 0x10 # CHECK: muleq_s.w.phl    $21, $22, $23
  0x7f 0x3a 0xc7 0x50 # CHECK: muleq_s.w.phr    $24, $25, $26
  0x7f 0x9d 0xd9 0x90 # CHECK: muleu_s.ph.qbl   $27, $gp, $sp
  0x7f 0xe1 0xf1 0xd0 # CHECK: muleu_s.ph.qbr   $fp, $ra, $1
  0x7c 0x64 0x17 0xd0 # CHECK: mulq_rs.ph       $2, $3, $4
  0x7e 0x11 0x01 0xb0 # CHECK: mulsaq_s.w.ph    $ac0, $16, $17
  0x00 0x43 0x18 0x18 # CHECK: mult             $ac3, $2, $3
  0x00 0x85 0x10 0x19 # CHECK: multu            $ac2, $4, $5
  0x00 0x43 0x00 0x18 # CHECK: mult             $2, $3
  0x00 0x85 0x00 0x19 # CHECK: multu            $4, $5
  0x7e 0x74 0x93 0x91 # CHECK: packrl.ph        $18, $19, $20
  0x7d 0xe3 0x3a 0xd1 # CHECK: pick.ph          $7, $15, $3
  0x7c 0x88 0x10 0xd1 # CHECK: pick.qb          $2, $4, $8
  0x7c 0x15 0xa3 0x12 # CHECK: preceq.w.phl     $20, $21
  0x7c 0x16 0xab 0x52 # CHECK: preceq.w.phr     $21, $22
  0x7c 0x17 0xb1 0x12 # CHECK: precequ.ph.qbl   $22, $23
  0x7c 0x19 0xc1 0x92 # CHECK: precequ.ph.qbla  $24, $25
  0x7c 0x18 0xb9 0x52 # CHECK: precequ.ph.qbr   $23, $24
  0x7c 0x1a 0xc9 0xd2 # CHECK: precequ.ph.qbra  $25, $26
  0x7c 0x1b 0xd7 0x12 # CHECK: preceu.ph.qbl    $26, $27
  0x7c 0x1d 0xe7 0x92 # CHECK: preceu.ph.qbla   $gp, $sp
  0x7c 0x1c 0xdf 0x52 # CHECK: preceu.ph.qbr    $27, $gp
  0x7c 0x1e 0xef 0xd2 # CHECK: preceu.ph.qbra   $sp, $fp
  0x7e 0x53 0x8d 0x11 # CHECK: precrq.ph.w      $17, $18, $19
  0x7e 0x32 0x83 0x11 # CHECK: precrq.qb.ph     $16, $17, $18
  0x7e 0x95 0x9b 0xd1 # CHECK: precrqu_s.qb.ph  $19, $20, $21
  0x7e 0x74 0x95 0x51 # CHECK: precrq_rs.ph.w   $18, $19, $20
  0x7c 0x40 0x0d 0x10 # CHECK: raddu.w.qb       $1, $2
  0x7d 0x00 0x2c 0xb8 # CHECK: rddsp            $5, 256
  0x7c 0x0c 0x12 0x92 # CHECK: repl.ph          $2, 12
  0x7c 0x55 0x08 0x92 # CHECK: repl.qb          $1, 85
  0x7c 0x02 0x0a 0xd2 # CHECK: replv.ph         $1, $2
  0x7c 0x02 0x08 0xd2 # CHECK: replv.qb         $1, $2
  0x7d 0x00 0x0e 0xb8 # CHECK: shilo            $ac1, 16
  0x7c 0x40 0x0e 0xf8 # CHECK: shilov           $ac1, $2
  0x7c 0x62 0x0a 0x13 # CHECK: shll.ph          $1, $2, 3
  0x7c 0x62 0x0b 0x13 # CHECK: shll_s.ph        $1, $2, 3
  0x7c 0x62 0x08 0x13 # CHECK: shll.qb          $1, $2, 3
  0x7c 0x62 0x0a 0x93 # CHECK: shllv.ph         $1, $2, $3
  0x7c 0x62 0x0b 0x93 # CHECK: shllv_s.ph       $1, $2, $3
  0x7c 0x62 0x08 0x93 # CHECK: shllv.qb         $1, $2, $3
  0x7c 0x62 0x0d 0x93 # CHECK: shllv_s.w        $1, $2, $3
  0x7c 0x62 0x0d 0x13 # CHECK: shll_s.w         $1, $2, 3
  0x7c 0x22 0x2a 0x53 # CHECK: shra.ph          $5, $2, 1
  0x7c 0x22 0x2b 0x53 # CHECK: shra_r.ph        $5, $2, 1
  0x7c 0x62 0x0a 0xd3 # CHECK: shrav.ph         $1, $2, $3
  0x7c 0x62 0x0b 0xd3 # CHECK: shrav_r.ph       $1, $2, $3
  0x7c 0x62 0x0d 0xd3 # CHECK: shrav_r.w        $1, $2, $3
  0x7c 0x22 0x0d 0x53 # CHECK: shra_r.w         $1, $2, 1
  0x7c 0x42 0x08 0x53 # CHECK: shrl.qb          $1, $2, 2
  0x7c 0x62 0x08 0xd3 # CHECK: shrlv.qb         $1, $2, $3
  0x7c 0x43 0x0a 0xd0 # CHECK: subq.ph          $1, $2, $3
  0x7c 0x43 0x0b 0xd0 # CHECK: subq_s.ph        $1, $2, $3
  0x7c 0x43 0x0d 0xd0 # CHECK: subq_s.w         $1, $2, $3
  0x7c 0x43 0x08 0x50 # CHECK: subu.qb          $1, $2, $3
  0x7c 0x43 0x09 0x50 # CHECK: subu_s.qb        $1, $2, $3
  0x7c 0x20 0x04 0xf8 # CHECK: wrdsp            $1, 0
